#ifndef _DOT_SORT_TUBE_HPP_
#define _DOT_SORT_TUBE_HPP_

#include <cstdint>

class Tube
{
	private:
		const uint8_t size;
		uint8_t dotCount;
		uint8_t* array;

	public:
		Tube(uint8_t size);
		~Tube();

		void push(uint8_t value);
		void pop();

		bool isEmpty() const;
		bool isFull() const;
		bool isCompleted() const;

		const uint8_t& top() const;
		const uint8_t& operator[](uint8_t index) const;
};

#endif
